#include<iostream>
#include<unistd.h>
#include<sys/types.h>
#include<fcntl.h>
#include<cstring>
#include<memory>
#include"EpoolServer.hpp"
using namespace std;
std::string echoServer(std::string r)
{
    std::string resp = r;
    resp += "[echo]\r\n";

    return resp;
}

int main()
{
    unique_ptr<EpollServer> svr(new EpollServer(echoServer));
    svr->InitServer();
    svr->Start();

    return 0;
}
// void SetNonBlock(int fd)
// {
//     int f1=fcntl(fd,F_GETFD);//获取文件状态标记
//     if(f1<0)
//     {
//         perror("fcntl");
//         return;
//     }
//     fcntl(fd,F_SETFD,f1|O_NONBLOCK);//设置文件状态标记
// }
// int main()
// {
//     char buffer[64];
//     SetNonBlock(0);//0号文件标准输入
//     while (true)
//     {
//         printf(">>>");
//         fflush(stdout);
//         ssize_t n=read(0,buffer,sizeof(buffer)-1);
//         if(n>0)
//         {
//             buffer[n-1]=0;
//             cout<<"echo#"<<buffer<<endl;;
//         }
//         else if(n==0)
//         {
//             cout<<"end file"<<endl;
//             break;
//         }
//         else{
//             //cout<<"read error?"<<endl;
//             cerr<<"read error:"<<strerror(errno)<<"error code:"<<errno<<endl;
//         }
//     }
    
// }